// process_traits_win32.hpp

#include <Windows.h>
#include <boost/iostreams/stream.hpp>
#include <boost/iostreams/device/file_descriptor.hpp>


namespace process {
	namespace detail {
		struct process_traits_win32 {
			process_traits_win32(const char *cmd, int flags);

			int poll(void) const;
			int wait(void);

			~process_traits_win32(void);

			HANDLE process_;

			int pid_;
			std::auto_ptr<std::istream > from_;
			std::auto_ptr<std::istream> error_;
			std::auto_ptr<std::ostream> to_;

		};

		typedef process_support::detail::process_traits_win32 process_traits_impl;
	}
}
